<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>

</body>
<script>
  // 选择结构之switch   =>  多分支
  // (1) switch中的表达式一般是一个变量/常量  
  // (2) case:  列举出变量可能出现的情况  
  // (3) 针对不同的情况执行对应语句

  // 如何比较
  // switch中的表达式和case中的常量 依次按顺序做全等比较(=== 数值和类型均相等),如果全等则执行对应
  // 的 执行语句,语句执行完毕 遇到break,跳出当前的switch结构,都不满足则执行default的语句。

  // break的作用：是跳出switch结构，如果没有break，则继续执行下面分支的的语句（而不进行判断）。

  // switch(表达式){
  //     case 常量1:  执行语句1;
  //     case 常量2:  执行语句2;
  //     case 常量3:  执行语句3;
  //     case 常量4:  执行语句4;
  //     case 常量5:  执行语句5;
  //     case 常量6:  执行语句6;
  //     default:  除了上述以外的其他情况(else)
  // }

  // switch穿透:
  // switch中的表达式和case中的常量 依次按顺序做全等比较(=== 数值和类型均相等),如果全等则执行对应
  // 的 执行语句,但是由于没有break,此时语句执行完毕,并不会跳出当前的switch结构,而是继续执行下面分支的语句
  // 而不经过判断




  var week = 1 + Math.round(Math.random() * 6);   // 1-7 
  var week = 6;
  console.log(week);

  debugger;

  switch (week) { // 4
    // 穿透  week==1||week==2||week==3||week==4||week==5
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
      document.write("周一至周五,学习!!<br>");
      break;
    case 6:   // week === 6
      document.write("今天是星期六,自习<br>");
      break;
    case 7:   // week === 7
      document.write("今天是星期天,休息<br>");
      break;
    default:
      document.write("出现了意料之外的情况<br>");
      break;
  }

  document.write("这是后面执行的代码!!!");











</script>

</html>